import {reqCategoryList, reqGetBannerList, reqGetFloorList} from '@/api'

// home 模块小仓库
// 相当于 data(){return{}} 定义属性
const state = {
    // 三级分类数据
    categoryList: [],
    // 轮播图数据
    bannerList: [],
    // 楼层
    floorList:[]
}

// mutations 是唯一修改 state 的地方
// 相当于 created() 或 mounted() 调用方法
const mutations = {
    // 三级分类
    CATEGORYLIST(store, categoryList) {
        state.categoryList = categoryList
    },
    // 轮播图
    BANNERLIST(state, bannerList) {
        state.bannerList = bannerList
    },
    // 楼层
    FLOORLIST(state, floorList) {
        state.floorList = floorList
    }
}


// 相当于 methods 区域，调用接口，写业务逻辑
const actions = {

    // 获取三级分类数据：通过 AIP 里面的接口函数调用，向服务器发请求，获取服务器的数据
    async categoryList({commit}) {
        let result = await reqCategoryList()
        if (result.code === 200) {
            commit("CATEGORYLIST", result.data)
        }
    },

    // 首页轮播图数据
    async getBannerList({commit}) {
        let result = await reqGetBannerList();
        if (result.code === 200) {
            commit("BANNERLIST", result.data)
        }
    },

    // 楼层
    async getFloorList({commit}) {
        let result = await reqGetFloorList();
        if (result.code === 200) {
            commit("FLOORLIST", result.data)
        }
    }
}
const getters = {}

// 对外暴露
export default {
    state,
    mutations,
    actions,
    getters
}
